package edu.cuit.zhuyimeng.flight.service;

import edu.cuit.zhuyimeng.flight.dal.po.FlightPO;

/**
 * 航班调度服务
 */
public interface IFlightDispatchService {

    /**
     * 起飞
     * @param flightId 航班ID
     */
    void takeoff(Long flightId);

    /**
     * 降落
     * @param flightId 航班ID
     */
    void landing(Long flightId);

    /**
     * 初始化航班
     * 处理缓存刷新
     * @param flightPO 航班信息
     */
    void initFlight(FlightPO flightPO);

    /**
     * 航班进入下一阶段
     * 处理缓存刷新
     * @param id 航班ID
     */
    void nextPhase(Long id);

    /**
     * 销毁航班
     * 处理缓存刷新
     * @param id 航班ID
     */
    void destroyFlight(Long id);

}
